--[[
	@module properteis解析工具类，支持#开头的注释
	@dependency utils.string_utils
]]

local su = require "utils.string_utils"


--加载properties配置文件
--@param path 配置文件绝对路径
local function load(path)
	local f = io.open(path, r)
	local conf = {};
	local idx_s, idx_e;
	for i in f:lines() do
		--忽略空行
		--忽略长度<3的行
		--忽略注释行
		if #i >= 3 and i ~= "" and i ~= nil and not su.starts_with(i, "#") then
			i = string.gsub(i, " ", "");
			i = string.gsub(i, "\r", "");
			i = string.gsub(i, "\n", "");
			i = string.gsub(i, "\t", "");

			local ep = string.find(i, "=");
			if ep > 0 then
				idx_s = ep - 1;
				idx_e = ep + 1;
				conf[string.sub(i, 0, idx_s)] = string.sub(i, idx_e);
			end
		end
	end
	return conf;
end

local _M = {
	load = load
}

return _M